package com.own.component.util.time;

import com.own.component.util.time.base.DateTimeBaseUtil;

import java.time.LocalDate;

/**
 * LocalDateUtil
 *
 * @author chenxueli
 * @date 2022-10-31 16:30:00
 */
public class LocalDateUtil {

    /**
     * 格式化时间
     *
     * @param pattern 格式化的字段串
     * @return 时间字符串
     */
    public static String format(String pattern) {
        return format(LocalDate.now(), pattern);
    }

    /**
     * 格式化时间
     *
     * @param date    时间
     * @param pattern 格式化的字段串
     * @return 时间字符串
     */
    public static String format(LocalDate date, String pattern) {
        var formatter = DateTimeBaseUtil.getDateTimeFormatter(pattern);
        return date.format(formatter);
    }

    /**
     * 格式化时间
     *
     * @param text     时间字符串
     * @param patterns 格式化的字段串
     * @return 时间
     */
    public static LocalDate parse(String text, String... patterns) {
        var pattern = DateTimeBaseUtil.buildPattern(patterns);
        var formatter = DateTimeBaseUtil.getDateTimeFormatter(pattern);
        return LocalDate.parse(text, formatter);
    }

    public static void main(String[] args) {
        var date = parse("22-1-03", "[yyyy-MM-dd]", "[yyyy-M-dd]", "[yy-M-d]");
        System.out.println(date);
    }

}
